/**
 * 
 */
package org.jrm.mechanics;

import org.jrm.map.Point;

/**
 * @author LAP
 *
 */
public abstract class Unit implements Destructable {
	private Unit owner = null;
	private Inventory inventory;
	
	public Unit() {
		inventory = new Inventory();
	}
	
	@Override
	public void accept(GameItemsVisitor visitor) {}
	@Override
	public void Destroy(GameContext context) {}
	
	public abstract GameItemsVisitor getVisitor();
	public abstract void setVisitor(GameItemsVisitor visitor);
	public abstract Point getPosition();
	public abstract Point getMoveDirection();
	public Unit getOwner() {
		return owner;
	}
	public void setOwner(Unit owner) {
		this.owner = owner;
	}
	
	public Inventory getInventory() {
		return inventory;
	}
}
